Random access memory arrays, including static random access memories (SRAMs), are well known in the art. Such arrays are comprised of a plurality of memory cells, each cell storing a single bit of information in the form of a binary 1 or a binary 0. Each cell is essentially a flip-flop positioned at the intersection of an array of row and column address lines. Specifically, each cell is positioned at the intersection of a word line, for selecting a row of the memory array, and a set of complimentary bit lines (i.e., a bit line and an inverse bit line) for selecting a column of the array. These memories provide random access in the sense that each cell can be individually addressed for read and write operations as determined by an address provided to a row and column address decoder, that in turn selects the intended cell at the intersection of the row and column address lines. Generally, the row or wordline is selected first, enabling all the cells on the selected row. The bitline and the inverse bitline select the individual column from within the selected cell row, for reading a bit from or writing a bit to the selected cell over the bitline and the inverse bitline.
SRAMs are often used to store program memory in electronic devices, such as computers and other devices that operate under control of a processor executing program commands. Since SRAMs are volatile memory devices, the program instructions and data items required during the start-up or boot-up operational phase are stored in non-volatile memory when no external power is supplied to the device. At start-up, the instructions and data are downloaded to the SRAM. During device operation the processor accesses instructions and data stored in the SRAM and writes resultant data back to the SRAM, as the SRAM provides faster access times than nonvolatile memory. However, initial operation of the device is delayed while program instructions and start-up data are loaded from the non-volatile memory into the SRAM. Included among the non-volatile memory types for storing executable programs and start-up data are: read only memories (ROM's), programmable read only memories (PROM's), erasable programmable read only memories (EPROM's), and optical media such as disk drives and magnetic media such as floppy disk drives.